The present invention relates to a control technology for executing policies.
There is an automatic execution system for an information system, which produces rules for causing the information system to execute certain operations (referred to as actions) if certain conditions (referred to as trigger conditions) are met. These rules thus created are referred to as policies, and are described as a pair of a set of trigger conditions and a set of actions. This automatic execution system is capable of handling a failure of a server device by describing the symptom when the failure occurs in the server system, as a trigger condition of a policy, and by describing a countermeasure operation for the failure, as an action of the policy. Moreover, this type of automatic execution system is also used to automate standard processes such as maintenance of a server device, during the operation and management of the information system.
In the automatic execution system, the trigger conditions include availability of physical resources such as a CPU, a memory, disks of server devices, and I/O devices, or availability of logical resources, such as a request number, a process number, a throughput, and a response time, provided by programs running on the physical resources. Moreover, if certain trigger conditions are met, the automatic execution system is also used to automate reconfiguration of the information system, such as monitoring of components, addition and deletion of server devices, changes of other physical resources, and changes of set values for programs which control logical resources, by executing certain actions such as deploy, start, stop, and un-deploy of components, other operation/management operations, and monitoring operation of components. Further, the automatic execution system specifies various phenomena and states occurring in the logical resources as trigger conditions, and executes actions corresponding to these phenomena and states, to thereby automatically handle these phenomena and states.
In the automatic execution system, trigger conditions of multiple policies may be met at the same time. In this case, if these policies, for which the trigger conditions are met, include multiple policies requesting the information system for actions incompatible with one another, and the actions requested by the policies for which the trigger conditions are met are independently executed in parallel, the information system operation may become unstable. Therefore, it is necessary to perform concurrency control such as suspending other policies while a certain policy is being executed. Such concurrency control is often employed in transaction processing for a database. Moreover, the concurrency control is also employed for task scheduling for an OS (refer to Japanese Patent Laid-Open Publication No. H07-295840).
Moreover, for efficient utilization of resources, which is an object of the information system, there has been devised a resource distribution method for reducing resource maintenance/management costs of the information system by sharing resources among multiple services based on predictions made on future resource availability (refer to Japanese Patent Laid-Open Publication No. 2005-141605). The method also employs an automatic execution system based on policies.
However, the concurrency control employed in the automatic execution system for policies is realized by sequentially executing respective policies, or employing a mutual exclusion mechanism provided for independent objects (such as load balancer) to be operated by an action of a policy. As a result, the conventional automatic execution system is not capable of scheduling policies in consideration of resources of the overall information system, which results in inefficient concurrency control.